1. Field of the Invention
This invention pertains generally to Medium Access Control layer protocol implementations. More particularly, the invention is a Medium Access Control protocol implementation and method for use in a Time Division Multiple Access network system having a network master device and a plurality of slave devices. The protocol provides dynamic data slot management, including variable data slot requisition, variable data slot allocation, dynamic data slot reallocation, and data slot deallocation.
2. The Prior Art
Presently, there are numerous ways to provide communication methods between devices participating in a network offering various levels of reliability and effectiveness. Likewise, various communication protocols have been developed to provide various networking services to such network devices.
In an effort to standardize protocols in network communication, the International Standards Organization (ISO) developed the Open Systems Interconnection (OSI) reference model. The OSI reference model deals with connecting systems that are open for communication with other systems and includes seven layers of network services including the Application or “highest” layer, the Presentation layer below the Application layer, the Session layer below the Presentation layer, the Transport layer below the Session layer, the Network layer below the Transport layer, the Data Link layer below the Network layer, and the Physical or “lowest” layer below the Data Link layer.
The Data Link layer is designed to offer various services to the Network layer. The principal service that the Data Link layer provides to the Network layer is the transfer of data from the Network layer on a source device to the Network layer on the destination or target device. The usual approach is for the Data Link layer to break up the bit stream into discrete blocks of bits, compute a checksum for each block, and transmit the block along with the checksum to the target device in the form of a packet. When the packet arrives at the target device, the checksum is recomputed for the received block. If the newly computed checksum is different from the one received from the source device, the Data Link layer determines that an error has occurred and an error-recovery process is invoked.
At the Medium Access Control (MAC) sublayer of the Data Link layer, protocols are used to solve the issue of which network device gets to use the broadcast channel when there is competition for it. The MAC sublayer is particularly important in Local Area Networks (LANs) where the number of network devices competing for the communication channel may comprise hundreds of devices.
Various methods are used at the MAC layer to provide multiple access by such competing devices across a shared medium. One common method used for sharing a broadcast channel or medium is Time Division Multiple Access (TDMA). TDMA divides transmit time into frames having a plurality of time slots, wherein each competing device is assigned a unique and non-overlapping “data slot” within the frame in which only the corresponding device may transmit data. Each data slot within the frame has the same fixed length according to a predetermined frame definition, regardless of the bandwidth capabilities of the various devices of the network. Thus, a first device having large bandwidth requirements for optimum operation will have the same fixed-length data slot as a second device that requires nominal bandwidth for optimal operation. This scheme creates a non-optimal channel or media use.
A partial solution is to assign two or more data slots to devices requiring more bandwidth than other devices. However, the granularity of the data slots as determined by its length creates a likelihood that a certain amount of transmit time will be wasted in each frame. For example, if the data slot size is 32 bytes and a device chose to transmit 48 bytes per frame, it must allocate two data slots (64 bytes), in order to accommodate 48 bytes, resulting in 33% wasted bandwidth. Apart from the granularity problem, this scheme requires additional management overhead to track each device's data slot assignments.
In certain instances, when traffic on the network is relatively high, all of the data slots in the frame may be completely assigned and unavailable, thus leaving devices without data slot assignments “stranded” without any means to transmit data on the network. Such devices without data slot assignments must wait until a data slot is released and then subsequently compete for it. One solution to this bandwidth problem is to interleave access to frames, wherein data slot assignments are made in an alternating frame assignment fashion. For example, a device may be assigned a particular data slot every other frame, or every third frame, or every nth frame. Such a solution requires additional management overhead to track not only each device's slot assignments, but also, each device's frame interleave assignment. Current MAC layer algorithms fail to address such issues of fragmented data slot assignments, and fail to provide methods for joining or otherwise combining fragmented data slots.
Current solutions at the MAC layer also fail to provide adequate “quality of service” (QoS) guaranties, for example, for communication links whose bandwidth requirements vary over time, to the upper layers of the OSI model. As noted above, the task of each layer of the OSI reference model is to provide services to the next higher layer. For example, the MAC layer provides services to the Network layer. QoS provides a mechanism by which parameters which relate to the “quality” of the services rendered to be passed from the serviced layer (Network layer) to the servicing layer (MAC layer). For example, in audio data transmission, the minimum and maximum bandwidth range for optimal performance would beneficially be a parameter accompanying the data transfer request. This parameter allows the network to dynamically trade off available bandwidth for sound quality. For instance, the transfer of high fidelity or stereo-quality audio data requires larger bandwidth than the transfer of monaural or other low quality audio data. Currently, QoS requests, such as guaranteed bandwidth requests, are not typically channeled through the OSI layers to the MAC layer. For example, a current technology which provides guaranteed bandwidth is Asynchronous Transfer Mode (ATM). However, ATM provides cells (the functional equivalent of “slots”) which are of equal size. As described above, providing fixed-sized slots, or in the case of ATM, fixed-sized cells, may result in a portion of a slot going unused (internal fragmentation), or more accurately, wasted. This internal fragmentation is due to the inherent granularity problem created by fixed-sized slots. Prior art MAC layer implementations do not accept such QoS requests for the purpose of dynamically requesting variable or adaptable sized data slots for transmission according to the present state of the device and the network.
Accordingly, there is a need for a reliable MAC layer protocol and method employing centralized management of network communication, which provides quality of service guaranties via variable data slot requisition, which provides variable data slot allocation, and which provides dynamic data slot management. The present invention satisfies these needs, as well as others, and generally overcomes the deficiencies found in the background art.